package com.micro.school.order.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.micro.school.common.core.annotation.Excel;
import com.micro.school.common.core.web.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 支付单对象 pay_student_fee_payment
 * 
 * @author lyb
 * @date 2025-08-19
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class PayStudentFeePaymentExcelVo
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Integer id;

    /** 专业名 */
    @Excel(name = "专业",sort = 1)
    private String majorName;

    /** 年级名 */
    @Excel(name = "年级",sort = 2)
    private String gradeName;

    /** 学生姓名 */
    @Excel(name = "姓名",sort = 3)
    private String studentName;

    /** 身份证号 */
    @Excel(name = "身份证号",sort = 4)
    private String idNumber;

    @Excel(name = "在校状态",sort = 5)
    private String graduate;
    /** 收费学年名称 */
    @Excel(name = "缴费学年",sort = 6)
    private String feeYear;

    @Excel(name = "支付金额（元）",sort = 7)
    private BigDecimal paidAmount;

    /** 支付方式 */
    private Long payMethod;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",sort = 9)
    private Date createTime;

    /** 是否退款: 2否 1是 */
    private String refundedStatus;

    /** 是否退款: 2否 1是 */
    @Excel(name = "是否退款",sort = 10)
    private String refundedStatusName;

    public void setDicRefundedStatusName(){
        if("2".equals(refundedStatus)){
            refundedStatusName = "否";
        }
        if("1".equals(refundedStatus)){
            refundedStatusName = "是";
        }
    }

    /** 退款金额 */
    @Excel(name = "退款金额",sort = 11)
    private BigDecimal refundedAmount;

    /** 退款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss",sort = 12)
    private Date refundedTime;

    @Excel(name = "支付方式",sort = 8)
    private String payMethodName;

}
